Snapshot recognition for tv

ABSTRACT

A system may include logic to provide a video program to a video display, logic to provide interactive content to indicate that a snapshot of the video program can be captured, and snapshot capturing logic to capture a video frame of the video program.

BACKGROUND INFORMATION

With an aim toward enhancing a television (TV) viewer's experience, thedevelopment of interactive television is emerging. Recently, TV serviceproviders, content providers, and advertisers have supplemented linearprogramming with interactive features that allow the TV viewer tointeract using his/her remote control. Typically, the TV viewer isrelegated to pressing an inordinate number of buttons to inputinformation (e.g., entering text or selecting from layers of lists ormenus) in order to obtain desired information.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram that illustrates an overview of an implementationdescribed herein;

FIG. 2 is an exemplary diagram of a network in which systems and methodsdescribed herein may be implemented;

FIG. 3 depicts a flow chart of an exemplary process for conducting asearch based on a snapshot from a video program; and

FIGS. 4-7 are diagrams that illustrate exemplary interactive content forimplementations described herein.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

The following detailed description refers to the accompanying drawings.The same reference numbers in different drawings may identify the sameor similar elements. Also, the following description does not limit theinvention.

Implementations described herein may provide interactive features thatpermit a TV viewer to capture a snapshot (e.g., a frame of video and/ormultiple frames of video) during a program that may be utilized toretrieve desired information of an object and/or a service containedwithin the snapshot. A program, as used herein, is intended to bebroadly interpreted to include any form of content (e.g., TV shows,commercials, infomercials, movie trailers, music programs, or on-demandservices, such as video, games, or music), for which interactivefeatures may be provided.

FIG. 1 is a diagram that illustrates an overview of an implementationdescribed herein. A TV viewer may be viewing a TV that displays acommercial advertising a new car. As illustrated in FIG. 1, Cool CarsInc. may be advertising a new car 100. The TV viewer may be interestedin finding out more information about new car 100. During thecommercial, a graphical user interface (GUI) component 102 may appear,such as an overlay, to notify the TV viewer that he/she may capture asnapshot of the commercial. For example, GUI component 102 may indicatethat the TV viewer may capture a snapshot of new car 100 by selecting[OK]. The TV viewer may select [OK] (e.g., with a remote control) and asnapshot of the commercial including new car 100 may be captured. Thesnapshot may be sent to a snapshot search system.

The snapshot search system may identify an object within the snapshot.For example, the snapshot search system may perform an objectrecognition process based on the snapshot. In this example, the objectwithin the snapshot may be new car 100. In other instances, there may bemore than one object. The snapshot search system may conduct a searchbased on the object. The snapshot search system may conduct a searchwithin a repository, such as an asset repository. For example, the assetrepository may include multimedia assets that may be located in, forexample, TV program content, a video-on-demand (VOD) system, aninteractive application system, and/or other types of content. Thesnapshot search system may retrieve information relating to the object.

The TV viewer may be presented with a search result retrieved from thesnapshot search system. For example, the search result may include alist of local car dealers (i.e. local in relation to the TV viewer'sresident address) that may sell new car 100. Each entry of the list mayinclude a snapshot of new car 100, and the name, address, and/ortelephone number of each car dealer that sells new car 100. The snapshotsearch system may provide interactive content associated with the searchresult. The TV viewer may be able to obtain additional informationrelating to new car 100, such as specification and option information ofnew car 100, by navigating through the interactive content.

In the description to follow, interactive features and systems thatallow a TV viewer to capture a snapshot during a program, and conduct asearch and retrieve information based on the snapshot will be described.

FIG. 2 is an exemplary diagram of a network 200 in which systems andmethods described herein may be implemented. Network 200 may include ahome network 210, an access network 220, a video serving office 230, adata center 240, a video hub office 250, a super headend 260, and anasset network 270.

In practice, network 200 may include additional, fewer, or differentcomponents than those illustrated in FIG. 2. Also, two or more of thesecomponents may be implemented within a single component, and/or a singlecomponent may be implemented as multiple, distributed components.Further, while FIG. 2 illustrates direct connections between the variouscomponents, any of these connections may be indirectly made via a node,a network, or a combination thereof. In addition, home network 210,access network 220, video serving office 230, data center 240, video huboffice 250, super headend 260, and asset network 270 may include otherfunctional, operational, and/or structural features than those describedbelow.

Home network 210 may include a remote control 212, a video displaydevice 214, and a video client 216. Remote control 212 may include anydevice capable of remotely controlling the operation of video client 216and/or video display device 214. Remote control 212 may transmitsignals, such as infrared signals, to a reader associated with videoclient 216 and/or video display device 214.

Video display device 214 may include any device capable of receiving andreproducing video signals. In one implementation, video display device214 may include a TV. In another implementation, video display device214 may include a computer monitor, a display of a stationarycommunication device (e.g., a telephone), or a display of a portablecommunication device (e.g., a mobile telephone or a personal digitalassistant (PDA)).

Video client 216 may include any device capable of receiving,transmitting and/or processing information to and from access network220. Video client 216 may provide video signals to video display device214. Video client 216 may include decoding and/or decryptioncapabilities. Video client 216 may include a digital video recorder(DVR) (e.g., a hard drive). In one implementation, video client 216 mayinclude a set top box. In another implementation, video client 216 mayinclude a computer device, a cable card, a TV tuner card, a stationarydevice (e.g., a telephone or a computer), or a portable communicationdevice (e.g., a mobile telephone or a PDA). In one implementation, videoclient 216 may be capable of providing interactive content and capturinga snapshot.

Access network 220 may include one or more series of points or nodesinterconnected by communication paths or links. Access network 220 mayinclude a video signaling and distribution network and system. In oneimplementation, for example, access network 220 may include a wide areanetwork (WAN), an intranet, a local area network (LAN), a telephonenetwork (e.g., a public switched telephone network (PSTN) or a wirelessnetwork), or a combination of networks. Access network 220 may providehome network 210 access to programs.

Video serving office 230 may include any device capable of providinginterconnection to video hub office 250 and data center 240. In oneimplementation, video serving office 230 may include amultiplexer/demultiplexer (MUX/DeMUX) 232. MUX/DeMUX 232 may providemultiplexing/demultiplexing of information. In one implementation, acentral office may include video serving office 230.

Data center 240 may include snapshot search system 242, a snapshotstorage 244, and a metadata storage 246. Snapshot search system 242 mayinclude any logic capable of conducting a search and retrievinginformation based on a snapshot. Logic, as used herein, may includehardware (e.g., an application specific integrated circuit (ASIC), afield programmable gate array (FPGA)), software, a combination ofsoftware and hardware, or a hybrid architecture. Snapshot search system242 may reside in any backend component of network 200, such as datacenter 240. In another implementation, one or more components ofsnapshot search system 242 may reside in home network 210, such as invideo client 216.

Snapshot search system 242 may include an object recognition system thatis capable of providing object recognition. The object recognitionsystem may include any logic that performs object recognition, asdescribed herein. In practice, the object recognition system may beimplemented employing hardware, software, a combination of hardware andsoftware, and/or a hybrid architecture. The object recognition systemmay provide object recognition for a two-dimensional (2D) object (e.g.,a picture of a compact disc (CD) cover) and/or a three-dimensional (3D)object (e.g., a person's face or a car) based on a captured frame ormultiple frames of a program. The object recognition system may identifyan object. An object, as used herein, is intended to be interpretedbroadly to include any thing or person within the snapshot. For example,the object may be a logo or a person associated with a service, or aproduct, such as a car.

Snapshot storage 244 may include any device capable of storinginformation, such as a memory, a storage medium, and/or a mass storagedevice. Snapshot storage 244 may include logic for storing/retrievinginformation to, for example, the memory, the storage medium, and/or themass storage device. For example, snapshot storage 244 may include aserver. In one implementation, snapshot storage 244 may reside in anybackend component of network 200, such as data center 240. In anotherimplementation, snapshot storage 244 may reside in home network 210,such as in video client 216. For example, snapshot storage 244 may be aDVR residing in video client 216, or a DVR residing in display device214. Snapshot storage 244 may store image information, such as snapshotsof a program and/or images of an object. Snapshot storage 244 may storeimages and other information facilitating object recognition processes.

Metadata storage 246 may include any device capable of storinginformation, such as a memory, a storage medium, and/or a mass storagedevice. Metadata storage 246 may include logic for storing/retrievinginformation to, for example, the memory, the storage medium, and/or themass storage device. For example, metadata storage 246 may include aserver. In one implementation, metadata storage 246 may reside in anybackend component of network 200, such as data center 240. Metadatastorage 246 may store metadata that may include additional informationrelating to an object and/or information relating to the TV viewer.Additional information relating to an object may include, for example,color, price, similar product information, movie related information,video game related information, or music related information.Alternatively, or additionally, information relating to the TV viewermay include, for example, a postal code corresponding to a residence ofthe TV viewer (e.g., Zone Improvement Plan (ZIP) code), demographic ofthe TV viewer's household, or the TV viewer's preferences (e.g., color,size of clothing, manufacturer, cost).

Video hub office 250 may include broadcast systems and content fordistribution, such as video-on-demand (VOD) 252, interactiveapplications and interactive program guide (IPG) 254, and regionalcontent 256. VOD 252, interactive applications and IPG 254, and regionalcontent 256 may include, for example, servers and mass storage devices.VOD 252 may include content such as movies or television programs thatmay be viewed by a TV viewer upon request (i.e., on-demand). Interactiveapplications and IPG 254 may include content, for example, a listingand/or a schedule of programs available for viewing. Interactiveapplications and IPG 254 may include content, such as special promotionsor discounts, interactive advertisements, sports statistics, or offersof audio or video information for playing or purchasing. Interactiveapplications and IPG 254 may also include interactive content forcapturing a snapshot of a program, as well as other menu features (e.g.,accessing saved snapshots and saved search results). Regional content256 may include, for example, news programs, independent channelprogramming, movies, sports programs, religious programs, musicprograms, and/or commercials.

The content of video hub office 250 may be arranged and/or indexed tofacilitate object recognition and/or searches, as described herein.Additionally, the content of video hub office 250 may provide an objectof interest at varying scales and poses, so as to facilitate objectclassification and object identification by the object recognitionsystem of snapshot search system 242. The content of video hub office250 may include multimedia assets such as digital pictures, programs,and/or additional information related to the object.

Super headend 260 may include broadcast systems and content fordistribution. In one implementation, super headend 260 may includebroadcast systems to acquire, aggregate and distribute national contentto video hub office 250. Super headend 260 may include servers and massstorage devices. National content may include, for example, televisionprograms, movies, premier channel programming, news programs, sportsprograms, religious programs, music programs, and/or commercials.

Asset network 270 may include one or more series of points or nodesinterconnected by communication paths or links. Asset network 270 mayinclude a repository of multi-media assets that may be searched bysnapshot search system 242. For example, asset network 270 may includethe Internet, or any other public and/or private network.

FIG. 3 depicts a flow chart of an exemplary process for conducting asearch based on a snapshot from a program.

The exemplary process may include capturing a snapshot of a videoprogram (block 302). For example, when a user powers up video display214 and/or video client 216 using remote control 212, the user may watcha video program. During the video program, interactive content may bedisplayed to indicate to the user that he/she may capture a snapshot(e.g., a frame of video or multiple frames of video) of the videoprogram. For example, the interactive content may be, for example, anoverlay displayed during the video program. Additionally, interactivecontent may be displayed to indicate to the user that he/she may capturea snapshot when the user is viewing, for example, a programming guide, aprogram information page, or a program status bar. Additionally, oralternatively, the user may be able to capture a snapshot without aprompt (e.g., without an overlay) being displayed, as described below.

There are various ways in which the interactive content for capturingthe snapshot may be provided. For example, commercials and VOD programs,may allow preprocessing procedures to be utilized to provide theinteractive content since these types of video programs may be re-airedcontinually for a period of time. Other types of video programs may bepre-taped, and aired, for example, days later. Thus, interactive contentmay be provided in these types of video programs. In even other types ofvideo programs, such as live programs, the user may capture a snapshotwithout interactive content prompting the user. For example, the usermay activate a generic snapshot function with, for example, remotecontrol 212. In such an instance, the user may select the object withinthe snapshot by using a movable pointer of remote control 212. In suchan implementation, video client 216 may include logic to provide thisfeature. In this way, the user may select the object and capture asnapshot during a live video program, or during any other type ofprogram, such as commercials, VOD programs, etc.

When the interactive content is displayed, the user may make a selectionto capture a snapshot. The user may respond to the interactive contentwith, for example, remote control 212. Understandably, however, giventhe various types of video display 214, the user may be able to capturea snapshot of a video program in response to the interactive content,without employing remote control 212. For example, when video display214 is a personal computer, an input device, such as a mouse or keypadmay allow the user to indicate that he/she wishes to capture a snapshotof the video program. Other devices utilized as video display 214, notspecifically mentioned herein, may include an interactive inputmechanism that would allow the user to provide an indication in responseto the interactive content that he/she wishes to capture the snapshot ofthe video program.

In one implementation, the video frame(s) may be obtained from, forexample, a video buffer. When the snapshot is captured, for example, theairing of the video program may continue to be displayed by videodisplay 214 in, for example, a scaled down window (e.g.,picture-in-picture (PIP)), and the remainder of the screen of videodisplay 214 may display a freeze frame of the captured snapshot. Inanother implementation, video display 214 may display a divided screen(e.g., a split screen).

The snapshot may be stored in, for example, video client 216 or snapshotstorage 244. Depending on where snapshot search system 242 resides, forexample, in data center 240 or in video client 216, snapshot searchsystem 242 may access the stored snapshot. For example, when thesnapshot is stored in video client 216, and snapshot search system 242resides in data center 240, video client 216 may communicate withsnapshot search system 242 (e.g., transmit the snapshot to snapshotsearch system 242).

When the user captures a snapshot, the interactive content may providethe user with various options that the user may select. For example, theuser may have the option of conducting a search based on the snapshot.Additionally, the user may have the option to save the snapshot andconduct a search at a later time. For example, the user may have theoption to view saved snapshots. Upon such a request, for example, videodisplay 214 may display a saved snapshot screen that contains savedsnapshots. The saved snapshot screen may be interactive and allow theuser to select various options, such as deleting a saved snapshot orconducting a search.

The exemplary process may include determining an object within thesnapshot (block 304). For example, snapshot search system 242 mayutilize the snapshot to determine the object within the snapshot. Theprocess by which snapshot search system 242 determines the object withinthe snapshot may vary, as described in greater detail below. Further, insome cases, snapshot search system 242 may determine more than oneobject within the snapshot.

In one implementation, the object recognition system of snapshot searchsystem 242 may determine the object based on the snapshot. It is to beunderstood that the object recognition system may be implemented in anumber of ways. Accordingly, the implementations described below areexemplary in nature, and fewer, additional, or different componentsand/or processes may be employed. Additionally, the implementationsdescribed below are not restricted to the order in which they have beendescribed below.

In one implementation, the snapshot may be used by the objectrecognition system to perform, for example, object categorization andobject identification. For example, descriptors that characterize someproperty of a region of the snapshot may be employed. Each descriptormay surround a basis point (e.g., a region of the snapshot). Thedescriptors may be local, regional and/or global point descriptors. Amodeled-based comparison may be implemented for determiningdiscriminatory aspects of an object within the snapshot. The objectrecognition system may perform object recognition by referring tocontent in video hub 250 and/or access network 270. The content mayinclude global image models and object specific identifiers that may becompared to the descriptors of the object in the snapshot. In this way,object categorization and object identification may be achieved.

In one implementation, the object recognition system may determineobject categorization of the object and/or object identification of theobject based on the snapshot. Snapshot search system 242 may refer tothe content of video hub office 250 and/or asset network 270 to performobject recognition. The content of video hub office 250 and/or thecontent of asset network 270 may be arranged and/or indexed tofacilitate object recognition.

In another implementation, for example, the video program from which thesnapshot was captured may include tag information. The tag informationmay be stored with the snapshot and/or communicated to snapshot searchsystem 242 (e.g., by video client 216) when a snapshot is taken.Snapshot search system 242 may determine the object based on the taginformation. For example, when the video program from which the snapshotis captured is, for example, a commercial, such as a Ford truckcommercial, snapshot search system 242 may determine that the snapshotincludes a Ford truck based on the tag information. In another example,snapshot search system 242 may be directed to a particular repository ofvideo hub office 250 and/or asset network 270 based on the taginformation so that the object may be determined. That is, in oneimplementation, the category of the object may be determined based onthe tag information, with or without the object recognition system. Inanother implementation, the identification of the object may bedetermined based on the tag information, with or without the objectrecognition system. Other types of video programs may provide analogoustag information that would allow a determination of the object in thesnapshot. Additionally, closed captioning information may provideinformation useful to the objection recognition system.

In still another implementation, snapshot search system 242 may obtainchannel information (e.g., from video client 216) that may used todetermine the object. For example, a food network that regularly airs ona certain channel may customarily advertise kitchenware, such as potsand food processors, a music channel may customarily advertisemusic-related items (e.g., CDs), or a game channel may customarilyadvertise games (e.g., Playstation 3 games). Snapshot search system 242may determine the object based on this channel information.

In one implementation, snapshot search system 242 may provideinteractive content that permits the user to confirm that the object iscorrectly determined (e.g., in terms of category or identification). Forexample, snapshot search system 242 may display interactive content thatprovides the object categorization (e.g. object is a car) oridentification (e.g., object is a 2007 Chevrolet Corvette Z06)

Snapshot search system 242 may provide interactive content. In someinstances, snapshot search system 242 may determine more than oneobject. For example, when the object recognition system identifies morethan one object in the snapshot, the object recognition system maydetermine the object categorization of each of the objects. In such aninstance, snapshot search system 242 may display a visual indicator(e.g., a transparent overlay, a pointer, or highlighting) that indicateseach of the objects within the captured snapshot. The user may selectthe object to be searched, and the snapshot search system 242 mayconduct a search based on the selected object. In anotherimplementation, for example, the object recognition system may determinethe object identification of each of the objects. In such an instance,the snapshot search system 242 may display a visual indicator thatindicates each of the objects within the captured snapshot. The user mayselect the object to be searched, and the snapshot search system 242 mayconduct a search based on the selected object.

In other instances, when only one object is determined within thecaptured snapshot, snapshot search system 242 may automatically conductthe search without requiring a selection from the user. In anotherimplementation, snapshot search system 242 may request a selection fromthe user, regardless of the number of objects within the capturedsnapshot. That is, snapshot search system 242 may display a visualindicator regardless of the number of determined objects.

The exemplary process may include conducting a search based on theobject (block 306). When the object is identified (e.g., objectidentification), snapshot search system 242 may conduct a search forinformation associated with the object. The extent of the search, suchas the amount of content and/or what content of video hub office 250and/or asset network 270 is searched may vary depending on the product,the program and/or the search criteria. In other words, snapshot searchsystem 242 may conduct a restrictive search or a more general searchdepending on the product, the program and/or the search criteria. Insome instances, the user may wish to add search criteria to the search(e.g., in addition to the object) that may be utilized by snapshotsearch system 242. For example, the user may include user preferences orinformation from metadata storage 246. In this way, the user may tailora search conducted by snapshot search system 242.

Snapshot search system 242 may retrieve information from the content ofvideo hub office 250 and/or asset network 270. Snapshot search system242 may provide the retrieved information to video client 216 so thatthe retrieved information may be displayed on video display 214.Snapshot search system 242 may provide interactive content to manage thesearch results, such as saving a search result, deleting a searchresult, forwarding the search result to another communication service,such as an e-mail, or forwarding the search result to another device,such as a mobile phone.

The exemplary process may include displaying information associated withthe object (block 308). For example, snapshot search system 242 mayprovide search results to the user. The search results may be displayedon video display 214 and may include interactive content. In oneimplementation, the search results may include an image of the object(e.g, a picture or a video clip) and/or text information relating to theobject. The text information may include, for example, where to purchasethe object, price information, or details relating to the object (e.g.,available colors, models, or features of the object). Depending on thecriteria of the search, the search results may be in list form.Additionally, the search results may be saved, and/or forwarded toanother device for later retrieval by the user. The search results maybe saved, for example, on video client 216 or on a backend component,such as in data center 240. The search results may be forwarded toanother device, for example, via asset network 270.

FIGS. 4-7 are diagrams that illustrate exemplary interactive content forimplementations described herein. A TV viewer may be watching a videoprogram displayed on video display device 214, such as a TV. The TVviewer may have in his/her possession remote control 212.

FIG. 4 illustrates, among other things, GUI component 102, luggage 402,camera 403, and beachwear 404. In other implementations, fewer,additional, or different components may be employed.

Referring to FIG. 4, the TV viewer is watching a program, such as acommercial (e.g., a Vacation Products Inc. commercial). As illustratedin FIG. 4, a commentator, Skip Hardaway, may be selling a new line ofvacation products, such as luggage 402, camera 403, and beachwear 404.During the program, GUI component 102 may appear, and the TV viewer maywish to find out more information about camera 403. As indicated by GUIcomponent 102, the user may capture a snapshot to start a productsearch. The user may select [OK] using remote control 212 to take asnapshot of the program.

FIG. 5 is a diagram illustrating exemplary content displayed to the TVviewer when a snapshot is captured. FIG. 5 illustrates, among otherthings, GUI component 102, an object indicator 501, and a scaled-downwindow 502. Referring to FIG. 5, a portion of the screen may pause atthe instant that the frame of video was captured. Another portion of thescreen, such as scaled-down window 502, may include the continuingbroadcast of the Vacation Products commercial. Snapshot search system242 may include indicators identifying the objects that the TV viewermay select for initiating a search. For example, luggage 402, camera403, and beachwear 404 may each have a corresponding object indicator501 that surrounds them. In other implementations, other visual cues orindicators may be employed to indicate the objects (e.g., highlighting,a transparent overlay, a pointer).

The TV viewer may select any one of object indicators 501 with, forexample his/her remote control 212 (e.g., with a cursor button and anENTER button). The TV viewer may select camera 403 as the object to besearched. The interactive content of GUI component 102 may offeradditional selections to the TV viewer. In one implementation, forexample, the interactive content of GUI component 102 may include thefollowing selections, such as [A] to start a search, [B] to add searchcriteria, [C] to add user profile information, [D] to save searchcriteria for later, and [E] to cancel. The TV viewer may be able toselect any one of these options using remote control 212 (e.g., with thecursor button and the ENTER button).

The TV viewer may select [A] to begin the search. In other instances,the TV viewer may wish to add one or more search criteria to the search.The TV viewer may select [B] to add search criterion. In oneimplementation, for example, when the TV viewer selects [B], the TVviewer may be able to select from an interactive menu system (notillustrated) additional search criterion (e.g. size, color, price range)that may be used by snapshot search system 242. When the TV viewerselects [C], pre-stored user profile information may be added as searchcriteria (e.g., zip code of the TV viewer, demographic of the TVviewer's household, TV viewer preferences (e.g., color, manufacturer)).Accordingly, the TV viewer may have the option to further refine thesearch by adding search criteria, in addition to the informationrelating to the object (e.g., camera 403).

The TV viewer may also have the option to save the search criteria byselecting [D]. The saving of search criteria, as well as the saving ofsearch results will be described below in reference to FIG. 6 and FIG.7. The TV viewer may also cancel by selecting [E].

The snapshot may be stored in a set top box that has DVR space. Inanother implementation, for example, when the set top box does notinclude DVR space, the snapshot of camera 403 may be stored in anotherset top box in a different room, for example, through Multi-Room DVRservice. In yet another implementation, display device 214 may includeDVR space. In still another implementation, the snapshot of camera 403may be stored in a backend component of network 200, such as snapshotstorage 244 of data center 240. The snapshot of camera 403, as well asany additional search criteria (e.g., metadata), may be stored in anumber of places, and not necessarily all in the same place, providedsnapshot search system 242 may retrieve this information (i.e., searchcriteria) so that a search may be performed.

Snapshot search system 242 may perform a search with the searchcriterion provided (e.g., object, camera 403). Snapshot search system242 may search for matches within the content residing in video huboffice 250 and/or asset network 270.

In one implementation, for example, snapshot search system 242 mayconduct a general search or a restrictive search. For example, snapshotsearch system 242 may conduct a search within a Vacation Products Inc.repository, since the TV viewer is watching a Vacation Products Inc.commercial. In this regard, this type of search may be considered arestrictive search, since snapshot search system 242 may search formatches only within the Vacation Products Inc. repository. In anotherexample, snapshot search engine system 242 may conduct a more generalsearch depending on, for example, the product, the program and/or thesearch criteria. For example, a search may be considered a generalsearch when snapshot search engine system 242 searches othermanufacturers' repositories that manufacture cameras.

FIG. 6 is a diagram illustrating exemplary content displayed to the TVviewer after snapshot search system 242 completes a search. FIG. 6illustrates, among other things, search results 600 and GUI component102. In this example, search results 600 may include three stores (i.e.,Vacation Products Inc.) that sell camera 403. In one implementation, forexample, each result may include a snapshot of the product, (i.e.,camera 403), and the address and the telephone number of the store(i.e., Vacation Products Inc.) where the TV viewer may purchase camera403. Additionally, different information may be provided. For example,information such as price, colors available, summary of features, a mapoption, etc., may be displayed and/or accessed through the interactivecontent. Further, the user may be able to purchase the product (e.g.,via Vacation Products Inc. web site).

The interactive content of GUI component 102 may provide additionalselections to the TV viewer. In one implementation, for example, theinteractive content of GUI component 102 may include the followingselections, such as [A] to modify this search, [B] to save this searchfor later, [C] to view saved searches, [D] to view saved searchcriteria, and [E] to cancel.

The TV viewer may select [A] to further modify the search criteria, suchas adding a search criterion, or removing a search criterion. In oneimplementation, for example, snapshot search engine system 242 mayfilter the existing search results 600 in view of the modified searchcriteria. Alternatively, or additionally, snapshot search system 242 mayconduct a new, more general search or a new, more restrictive searchbased on the modified search criteria.

When the TV viewer selects [B], the TV viewer may be able to save searchresults 600. In one implementation, for example, the TV viewer may beable to save the entire search results 600. In another implementation,for example, the TV viewer may be able to save one or more selecteditems within search results 600. When the TV viewer selects [C] or [D],the TV viewer may be able to view previously saved searches or searchcriteria. The TV viewer may also cancel by selecting [E].

FIG. 7 is a diagram illustrating exemplary content of saved searchesthat may be displayed to the TV viewer. FIG. 7 illustrates, among otherthings, saved search 700 and GUI component 102. As illustrated in FIG.7, in one implementation, saved search 700 may include a compilation ofentries of products that were selected and saved from respective searchresults 600. In another implementation, for example, the entire searchresults 600 may be saved.

The interactive content of GUI component 102 may provide differentselections to the TV viewer. In one implementation, for example, theinteractive content of GUI component 102 may include the followingselections, such as [A] for more information, [B] for help, and [C] todelete. The TV viewer may select [A] to access more information relatingto the selected search result. In one implementation, for example,additional product information or store information may be displayed.When the TV viewer selects [B], the TV viewer may access a help menu.The TV viewer may also select [C] to delete any saved search 700.

Although not illustrated, the TV viewer may access a saved searchcriteria page, as discussed in reference to FIG. 5. The saved searchcriteria page could include a list of saved search criteria. Forexample, each entry in the list may include a snapshot of the object andany additional search criterion.

In view of the interconnectivity among communication and messagingsystems, other options may be available to the TV viewer. For example,search results 600 and/or saved search 700 may be forwarded to othercommunication services, such as the TV viewer's e-mail address or mobilephone. Given the widespread use of portable and handheld devices, the TVviewer may access this information when shopping. Alternatively, oradditionally, the TV viewer may forward this information to friends orother family members via his/her e-mail or mobile phone.

The foregoing description of implementations provides illustration, butis not intended to be exhaustive or to limit the implementations to theprecise form disclosed. Modifications and variations are possible inlight of the above teachings or may be acquired from practice of theteachings described herein. For example, the user may able to capturemultiple frames of video, instead of just one frame of video. In someinstances, this may be beneficial as it relates to the objectrecognition processes, such as categorizing and identifying the object.

Additionally, although the examples provided entailed the TV viewerretrieving information related to a product, other possibilities exist.For example, the TV viewer may be watching a program, such as a movietrailer, and would like to find information relating to the movie (e.g.,summary, length of movie, show times, actors, etc.). Accordingly, the TVviewer may be able to retrieve information related to an assortment ofdifferent kinds of items.

In addition, while a series of blocks and/or acts have been describedwith regard to processes illustrated in FIGS. 3-7, the order of theblocks and/or acts may be modified in other implementations. Forexample, adding user profile information as a search criterion may be aglobal setting selected by a user before capturing all snapshots.Further, non-dependent acts may be performed in parallel. For example,blocks 304 and 306 may be performed in parallel.

It will be apparent that aspects described herein may be implemented inmany different forms of software, firmware, and hardware in theimplementations illustrated in the figures. The actual software code orspecialized control hardware used to implement aspects does not limitthe invention. Thus, the operation and behavior of the aspects weredescribed without reference to the specific software code—it beingunderstood that software and control hardware can be designed toimplement the aspects based on the description herein.

No element, act, or instruction used in the present application shouldbe construed as critical or essential to the implementations describedherein unless explicitly described as such. Also, as used herein, thearticle “a”, “an”, and “the” are intended to include one or more items.Where only one item is intended, the term “one” or similar language isused. Further, the phrase “based on” is intended to mean “based, atleast in part, on” unless explicitly stated otherwise.

1. A method, comprising: capturing a snapshot during a video program;determining an object within the snapshot; conducting a search based onthe object; and presenting information associated with the object. 2.The method of claim 1, the capturing comprises: providing interactivecontent to indicate that a snapshot can be taken.
 3. The method of claim1, the capturing comprises: receiving a selection of an interactiveinput mechanism.
 4. The method of claim 1, the determining comprises:displaying visual cues to indicate the object within the snapshot. 5.The method of claim 1, the determining comprises: providing interactivecontent to indicate that a determination of the object can be saved. 6.The method of claim 1, the determining comprises: performing objectrecognition based on the snapshot.
 7. The method of claim 6, theperforming comprises: comparing the snapshot to at least one of anothersnapshot or a video in an asset repository to perform the objectrecognition, or using at least one of tag information, closed-captioninformation, or channel information associated with the video program toperform object recognition.
 8. The method of claim 1, the conductingcomprises: applying other search criterion in addition to the object. 9.The method of claim 8, wherein the other search criterion is informationincluding at least one of information relating to a user or informationrelating to the object.
 10. The method of claim 1, the presentingcomprises: presenting information relating to purchasing the object. 11.The method of claim 1, the presenting comprises: providing interactivecontent to indicate that a result of the search can be saved.
 12. Themethod of claim 1, further comprising: forwarding the presentedinformation associated with the object to an e-mail service or a mobiledevice.
 13. A system, comprising: logic to provide a video program to avideo display; logic to provide interactive content to indicate that asnapshot of the video program can be captured; and logic to capture avideo frame of the video program; and logic to present search resultsrelating to the captured video frame.
 14. The system of claim 13, thelogic to capture comprises: logic to receive a selection from an inputmechanism.
 15. The system of claim 13, the logic to capture comprises:logic to simultaneously provide a freeze frame of the captured videoframe and provide a scaled-down version of the video program.
 16. Thesystem of claim 13, the logic to capture comprises: a storage medium tostore the captured video frame of the video program.
 17. A system,comprising: logic to receive a video frame of a video program; logic todetermine an object in the video frame; logic to conduct a search basedon the object; and logic to provide a result of the search.
 18. Thesystem of claim 17, the logic to determine comprises: logic to indicatethe object in the video frame.
 19. The system of claim 17, the logic todetermine comprises: logic to perform object recognition based on thevideo frame.
 20. The system of claim 17, the logic to determinecomprises: logic to determine the object based on at least one of taginformation, closed-caption information, or channel informationassociated with the video program.
 21. The system of claim 17, the logicto conduct comprises: logic to conduct a search based on metadataassociated with the object.
 22. The system of claim 17, the logic toprovide comprises: logic to provide interactive content associated withthe search result; and logic to forward the search result to an e-mailaddress or a portable device.
 23. A system, comprising: means forreceiving a video frame of a video program; means for identifying anobject in the video frame; means for receiving confirmation that theobject is correctly identified; and means for conducting a search basedon the object when the confirmation is received.
 24. The system of claim23, the means for identifying an object comprises: means for providinginteractive content identifying a plurality of objects available in thevideo frame.